function value = fireThruster(spacecraft,theUniverse,newVelocity,dt)
    accelerationTime = 0;
    spacecraft = getSpacecraftByName(theUniverse,spacecraft.name);
    DeltaV = num2str(norm(newVelocity-get(spacecraft,'velocity')));
    while newVelocity ~= get(spacecraft,'velocity')
        accelerationTime = accelerationTime + dt;
        currentVelocity = get(spacecraft,'velocity');
        spacecraftMass = get(spacecraft,'mass');
        fuel = get(spacecraft,'fuel');
        He3 = get(spacecraft,'He3');
        m0 = spacecraftMass + fuel + He3; % Total mass in beginning of timestep
        thrust = get(spacecraft,'thrust'); %N
        exhaustVelocity = get(spacecraft, 'exhaustVelocity'); %m/s %
        flowrate = thrust/exhaustVelocity; %kg/s
        fuel_spent = flowrate*dt; %In one complete dt
        mf = m0-fuel_spent; %Total mass after timestep
        dv = exhaustVelocity*flowrate*dt/mf; %The maximum velocity change we can apply
        if norm(newVelocity - currentVelocity) < norm(dv)  %Ikke sikkert...
           spacecraft = set(spacecraft,'velocity',newVelocity);
           %how much fuel (mass) did we use
           dv_needed = newVelocity - currentVelocity;
           fuel_spent = norm(dv_needed)*m0/norm(dv_needed-exhaustVelocity);
           spacecraft = set(spacecraft,'fuel',fuel-fuel_spent);
           theUniverse = updateSpacecraft(theUniverse, spacecraft);
        else
            %unit vector in direction of difference
            dv_unit = (newVelocity-currentVelocity)/norm(newVelocity-currentVelocity);
            spacecraft = set(spacecraft,'velocity',currentVelocity+dv*dv_unit);
            theUniverse = updateSpacecraft(theUniverse, spacecraft);
            theUniverse = doStep(theUniverse,dt);
            spacecraft = getSpacecraftByName(theUniverse,spacecraft.name);
            spacecraft = set(spacecraft,'fuel',fuel-fuel_spent);
            theUniverse = updateSpacecraft(theUniverse, spacecraft);
        end
    end
    theUniverse = doStep(theUniverse,dt);
    value = theUniverse;
    displayMissionTime(['Thruster fired for: ',num2str(accelerationTime),' s. DeltaV applied: ', DeltaV, ' Fuel left: ', num2str(get(spacecraft,'fuel')/1000)]);
end